
#ifndef __OBJETOMOVIL_H__
#define __OBJETOMOVIL_H__

#include "EstrategiaMovimiento.h"

class ObjetoMovil : public ObjetoPosicionable
    {
    private:
        
        EstrategiaMovimiento* estrategiaMovimiento;
        
    public:

        ObjetoMovil(EstrategiaMovimiento* unaEstrategiaMovimiento, Punto* posicion, unsigned int radio) : ObjetoPosicionable(posicion,radio)
            {
            this->estrategiaMovimiento = unaEstrategiaMovimiento;
            }

        void mover()
            {
            setPosicion(this->estrategiaMovimiento->mover(getPosicion()));
            }

        void setEstrategiaMovimieto(EstrategiaMovimiento* unaEstrategiaMovimiento)
            {
            this->estrategiaMovimiento = unaEstrategiaMovimiento;
            }

        EstrategiaMovimiento* getEstrategiaMovimiento()
            {
            return this->estrategiaMovimiento;
            }

        ~ObjetoMovil(void)
            {
            }
    };

#endif
